/**
 * 根据给定的时间戳与当前时间比较，返回相应的时间差描述。
 *
 * @param {number} timestamp - 要比较的时间戳（毫秒）。
 * @returns {string|null} - 返回描述时间差的字符串，或在超过3个月时返回null。
 */
function formatTimeDifference(timestamp) {
	const now = Date.now() // 获取当前时间戳
	const diffInSeconds = Math.floor((now - timestamp) / 1000) // 计算时间差（秒）

	if (diffInSeconds < 60) {
		return '1分钟内' // 1分钟内
	} else if (diffInSeconds < 3600) {
		const minutes = Math.floor(diffInSeconds / 60)
		return `${minutes}分钟前` // 1小时内，显示分钟数
	} else if (diffInSeconds < 86400) {
		const hours = Math.floor(diffInSeconds / 3600)
		return `${hours}小时前` // 1天内，显示小时数
	} else if (diffInSeconds < 2592000) {
		const days = Math.floor(diffInSeconds / 86400)
		return `${days}天前` // 1月内，显示天数
	} else if (diffInSeconds < 7776000) {
		const months = Math.floor(diffInSeconds / 2592000)
		return `${months}月前` // 3月内，显示月数
	} else {
		return null // 超过3个月，返回null
	}
}

export { formatTimeDifference }
